package com.teradata.olingo.metadata.core.edm.mapper.impl;

import com.teradata.olingo.metadata.core.edm.mapper.api.GenericOnConditionItem;
import com.teradata.olingo.metadata.core.edm.mapper.api.GenericPath;
import com.teradata.olingo.metadata.core.edm.mapper.exception.ODataGenericModelException;
import com.teradata.olingo.metadata.core.edm.mapper.exception.ODataGenericModelException.MessageKeys;
final class GenericOnConditionItemImpl implements GenericOnConditionItem {
  private final GenericPath jpaLeftAttribute;
  private final GenericPath jpaRightAttribute;

  GenericOnConditionItemImpl(final GenericPath jpaLeftAttribute, final GenericPath jpaRightAttribute)
      throws ODataGenericModelException {
    super();
    if (jpaLeftAttribute == null) {
      throw new ODataGenericModelException(MessageKeys.ON_LEFT_ATTRIBUTE_NULL);
    }
    if (jpaRightAttribute == null) {
      throw new ODataGenericModelException(MessageKeys.ON_RIGHT_ATTRIBUTE_NULL);
    }
    this.jpaLeftAttribute = jpaLeftAttribute;
    this.jpaRightAttribute = jpaRightAttribute;
  }

  @Override
  public GenericPath getLeftPath() {
    return jpaLeftAttribute;
  }

  @Override
  public GenericPath getRightPath() {
    return jpaRightAttribute;
  }

}
